#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>

typedef unsigned char N1;
typedef unsigned long int N4;

#define BEG             do {
#define END             } while(0)
#define ERR1(s,n1)      BEG fprintf(stderr,s,n1); \
                        fflush(stdout); fflush(stderr); \
                        return (-1); END

int main(int argc,char **argv)
{ N1 cc,c1,c2,c0; int ii; N4 n,m;

#if defined(___OS_WIN)
  setmode(fileno(stdin),O_BINARY);
  setmode(fileno(stdout),O_BINARY);
  setmode(fileno(stderr),O_BINARY);
#endif

  c1=(N1)'A'; c2=c1+15;
  c0=0; n=0; m=1;

  while (1)
  { ii=fgetc(stdin);
    if (ii==-1) break;
    else cc=(N1)ii;
    if (cc=='\n') ++m;
    if (cc<c1 || cc>c2)
    { if (n&1) //fputc(c0,stdout);
        ERR1("Error: Syntax: %lu\n",m);
      c0=0; continue;
    }
    c0=(c0<<4)|(cc-c1);
    if (++n&1) continue;
    fputc(c0,stdout); c0=0;
  }
  if (n&1) //fputc(c0,stdout);
    ERR1("Error: Syntax: %lu\n",m);
  fflush(stdout);

  return (0);
}
